using System;

// 定义MyMath类
class MyMath
{
    // 加法方法
    public static double Add(double a, double b)
    {
        return a + b;
    }
    
    // 减法方法
    public static double Subtract(double a, double b)
    {
        return a - b;
    }
    
    // 乘法方法
    public static double Multiply(double a, double b)
    {
        return a * b;
    }
    
    // 除法方法
    public static double Divide(double a, double b)
    {
        // 检查除数是否为零
        if (b == 0)
        {
            throw new DivideByZeroException("除数不能为零");
        }
        return a / b;
    }
    
    // 安全除法方法（不抛出异常）
    public static double SafeDivide(double a, double b, double defaultValue = 0)
    {
        if (b == 0)
        {
            return defaultValue;
        }
        return a / b;
    }
}

// 主程序类
class Program
{
    // 主函数
    static void Main(string[] args)
    {
        // 定义测试数据
        double num1 = 10.5;
        double num2 = 5.2;
        
        Console.WriteLine("===== MyMath类基本运算测试 =====");
        Console.WriteLine($"操作数1: {num1}");
        Console.WriteLine($"操作数2: {num2}\n");
        
        // 测试加法
        Console.WriteLine($"加法: {num1} + {num2} = {MyMath.Add(num1, num2)}");
        
        // 测试减法
        Console.WriteLine($"减法: {num1} - {num2} = {MyMath.Subtract(num1, num2)}");
        
        // 测试乘法
        Console.WriteLine($"乘法: {num1} × {num2} = {MyMath.Multiply(num1, num2)}");
        
        // 测试除法
        Console.WriteLine($"除法: {num1} ÷ {num2} = {MyMath.Divide(num1, num2)}\n");
        
        // 测试除数为零的情况
        Console.WriteLine("===== 异常处理测试 =====");
        try
        {
            Console.WriteLine($"尝试计算: {num1} ÷ 0");
            double result = MyMath.Divide(num1, 0);
            Console.WriteLine($"结果: {result}");
        }
        catch (DivideByZeroException ex)
        {
            Console.WriteLine($"捕获到异常: {ex.Message}");
        }
        
        // 测试安全除法
        Console.WriteLine("\n===== 安全除法测试 =====");
        Console.WriteLine($"安全除法(返回默认值): {num1} ÷ 0 = {MyMath.SafeDivide(num1, 0)}");
        Console.WriteLine($"安全除法(自定义默认值): {num1} ÷ 0 = {MyMath.SafeDivide(num1, 0, -1)}");
        
        // 保持控制台窗口打开
        Console.WriteLine("\n按任意键退出...");
        Console.ReadKey();
    }
}